home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 65.zip / BS1 part 65 / DevPac v3.02b.adf / include / hardware / cia.i < prev    next >
Text File  |  1991-11-20  |  5KB  |  174 lines

  1.     IFND    HARDWARE_CIA_I
  2. HARDWARE_CIA_I    SET    1
  3. **
  4. **    $Filename: hardware/cia.i $
  5. **    $Release: 1.3 $
  6. **
  7. **    registers and bits in the Complex Interface Adapter (CIA) chip 
  8. **
  9. **    (C) Copyright 1985,1986,1987,1988 Commodore-Amiga, Inc.
  10. **        All Rights Reserved
  11. **
  12.  
  13. *
  14. * _ciaa is on an ODD address (e.g. the low byte) -- $bfe001
  15. * _ciab is on an EVEN address (e.g. the high byte) -- $bfd000
  16. *
  17. * do this to get the definitions:
  18. *    XREF _ciaa
  19. *    XREF _ciab
  20. *
  21.  
  22.  
  23. * cia register offsets
  24. ciapra          EQU    $0000
  25. ciaprb          EQU    $0100
  26. ciaddra          EQU    $0200
  27. ciaddrb          EQU    $0300
  28. ciatalo          EQU    $0400
  29. ciatahi          EQU    $0500
  30. ciatblo          EQU    $0600
  31. ciatbhi          EQU    $0700
  32. ciatodlow      EQU    $0800
  33. ciatodmid      EQU    $0900
  34. ciatodhi      EQU    $0A00
  35. ciasdr          EQU    $0C00
  36. ciaicr          EQU    $0D00
  37. ciacra          EQU    $0E00
  38. ciacrb          EQU    $0F00
  39.  
  40. * interrupt control register bit numbers
  41. CIAICRB_TA      EQU    0
  42. CIAICRB_TB      EQU    1
  43. CIAICRB_ALRM      EQU    2
  44. CIAICRB_SP      EQU    3
  45. CIAICRB_FLG      EQU    4
  46. CIAICRB_IR      EQU    7
  47. CIAICRB_SETCLR      EQU    7
  48.  
  49. * control register A bit numbers
  50. CIACRAB_START      EQU    0
  51. CIACRAB_PBON      EQU    1
  52. CIACRAB_OUTMODE      EQU    2
  53. CIACRAB_RUNMODE      EQU    3
  54. CIACRAB_LOAD      EQU    4
  55. CIACRAB_INMODE      EQU    5
  56. CIACRAB_SPMODE      EQU    6
  57. CIACRAB_TODIN      EQU    7
  58.  
  59. * control register B bit numbers
  60. CIACRBB_START      EQU    0
  61. CIACRBB_PBON      EQU    1
  62. CIACRBB_OUTMODE      EQU    2
  63. CIACRBB_RUNMODE      EQU    3
  64. CIACRBB_LOAD      EQU    4
  65. CIACRBB_INMODE0      EQU    5
  66. CIACRBB_INMODE1      EQU    6
  67. CIACRBB_ALARM      EQU    7
  68.  
  69. * interrupt control register bit masks
  70. CIAICRF_TA      EQU    (1<<0)
  71. CIAICRF_TB      EQU    (1<<1)
  72. CIAICRF_ALRM      EQU    (1<<2)
  73. CIAICRF_SP      EQU    (1<<3)
  74. CIAICRF_FLG      EQU    (1<<4)
  75. CIAICRF_IR      EQU    (1<<7)
  76. CIAICRF_SETCLR      EQU    (1<<7)
  77.  
  78. * control register A bit masks
  79. CIACRAF_START      EQU    (1<<0)
  80. CIACRAF_PBON      EQU    (1<<1)
  81. CIACRAF_OUTMODE      EQU    (1<<2)
  82. CIACRAF_RUNMODE      EQU    (1<<3)
  83. CIACRAF_LOAD      EQU    (1<<4)
  84. CIACRAF_INMODE      EQU    (1<<5)
  85. CIACRAF_SPMODE      EQU    (1<<6)
  86. CIACRAF_TODIN      EQU    (1<<7)
  87.  
  88. * control register B bit masks
  89. CIACRBF_START      EQU    (1<<0)
  90. CIACRBF_PBON      EQU    (1<<1)
  91. CIACRBF_OUTMODE      EQU    (1<<2)
  92. CIACRBF_RUNMODE      EQU    (1<<3)
  93. CIACRBF_LOAD      EQU    (1<<4)
  94. CIACRBF_INMODE0      EQU    (1<<5)
  95. CIACRBF_INMODE1      EQU    (1<<6)
  96. CIACRBF_ALARM      EQU    (1<<7)
  97.  
  98. * control register B INMODE masks
  99. CIACRBF_IN_PHI2      EQU    0
  100. CIACRBF_IN_CNT      EQU    (CIACRBF_INMODE0)
  101. CIACRBF_IN_TA      EQU    (CIACRBF_INMODE1)
  102. CIACRBF_IN_CNT_TA EQU    (CIACRBF_INMODE0!CIACRBF_INMODE1)
  103.  
  104.  
  105. *
  106. * Port definitions -- what each bit in a cia peripheral register is tied to
  107. *
  108.  
  109. * ciaa port A (0xbfe001)
  110. CIAB_GAMEPORT1      EQU    (7)   * gameport 1, pin 6 (fire button*)
  111. CIAB_GAMEPORT0      EQU    (6)   * gameport 0, pin 6 (fire button*)
  112. CIAB_DSKRDY      EQU    (5)   * disk ready*
  113. CIAB_DSKTRACK0      EQU    (4)   * disk on track 00*
  114. CIAB_DSKPROT      EQU    (3)   * disk write protect*
  115. CIAB_DSKCHANGE      EQU    (2)   * disk change*
  116. CIAB_LED      EQU    (1)   * led light control (0==>bright)
  117. CIAB_OVERLAY      EQU    (0)   * memory overlay bit
  118.  
  119. * ciaa port B (0xbfe101) -- parallel port
  120.  
  121. * ciab port A (0xbfd000) -- serial and printer control
  122. CIAB_COMDTR      EQU    (7)   * serial Data Terminal Ready*
  123. CIAB_COMRTS      EQU    (6)   * serial Request to Send*
  124. CIAB_COMCD      EQU    (5)   * serial Carrier Detect*
  125. CIAB_COMCTS      EQU    (4)   * serial Clear to Send*
  126. CIAB_COMDSR      EQU    (3)   * serial Data Set Ready*
  127. CIAB_PRTRSEL      EQU    (2)   * printer SELECT
  128. CIAB_PRTRPOUT      EQU    (1)   * printer paper out
  129. CIAB_PRTRBUSY      EQU    (0)   * printer busy
  130.  
  131. * ciab port B (0xbfd100) -- disk control
  132. CIAB_DSKMOTOR      EQU    (7)   * disk motorr*
  133. CIAB_DSKSEL3      EQU    (6)   * disk select unit 3*
  134. CIAB_DSKSEL2      EQU    (5)   * disk select unit 2*
  135. CIAB_DSKSEL1      EQU    (4)   * disk select unit 1*
  136. CIAB_DSKSEL0      EQU    (3)   * disk select unit 0*
  137. CIAB_DSKSIDE      EQU    (2)   * disk side select*
  138. CIAB_DSKDIREC      EQU    (1)   * disk direction of seek*
  139. CIAB_DSKSTEP      EQU    (0)   * disk step heads*
  140.  
  141. * ciaa port A (0xbfe001)
  142. CIAF_GAMEPORT1      EQU    (1<<7)
  143. CIAF_GAMEPORT0      EQU    (1<<6)
  144. CIAF_DSKRDY      EQU    (1<<5)
  145. CIAF_DSKTRACK0      EQU    (1<<4)
  146. CIAF_DSKPROT      EQU    (1<<3)
  147. CIAF_DSKCHANGE      EQU    (1<<2)
  148. CIAF_LED      EQU    (1<<1)
  149. CIAF_OVERLAY      EQU    (1<<0)
  150.  
  151. * ciaa port B (0xbfe101) -- parallel port
  152.  
  153. * ciab port A (0xbfd000) -- serial and printer control
  154. CIAF_COMDTR      EQU    (1<<7)
  155. CIAF_COMRTS      EQU    (1<<6)
  156. CIAF_COMCD      EQU    (1<<5)
  157. CIAF_COMCTS      EQU    (1<<4)
  158. CIAF_COMDSR      EQU    (1<<3)
  159. CIAF_PRTRSEL      EQU    (1<<2)
  160. CIAF_PRTRPOUT      EQU    (1<<1)
  161. CIAF_PRTRBUSY      EQU    (1<<0)
  162.  
  163. * ciab port B (0xbfd100) -- disk control
  164. CIAF_DSKMOTOR      EQU    (1<<7)
  165. CIAF_DSKSEL3      EQU    (1<<6)
  166. CIAF_DSKSEL2      EQU    (1<<5)
  167. CIAF_DSKSEL1      EQU    (1<<4)
  168. CIAF_DSKSEL0      EQU    (1<<3)
  169. CIAF_DSKSIDE      EQU    (1<<2)
  170. CIAF_DSKDIREC      EQU    (1<<1)
  171. CIAF_DSKSTEP      EQU    (1<<0)
  172.  
  173.     ENDC    ; HARDWARE_CIA_I
  174.